package Solver;

import maze.Maze;

public class Node {

	private int id;
	private Maze m;
	private Node parent;
	private String operator;
	private int depth;
	private int pathCost;
	private int heuristicValue;
	
	/**
	 * 
	 * @param id
	 * @param m
	 * @param parent
	 * @param operator
	 * @param depth
	 * @param pathCost
	 */
	public Node(int id, Maze m, Node parent, String operator, int depth,
			int pathCost) {
		
		this.id = id;
		this.m = m;
		this.parent = parent;
		this.operator = operator;
		this.depth = depth;
		this.pathCost = pathCost;		
	}
	
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public Maze getMaze() {
		return m;
	}
	public void setMaze(Maze m) {
		this.m = m;
	}
	public Node getParent() {
		return parent;
	}
	public void setParent(Node parent) {
		this.parent = parent;
	}
	public String getOperator() {
		return operator;
	}
	public void setOperator(String operator) {
		this.operator = operator;
	}
	public int getDepth() {
		return depth;
	}
	public void setDepth(int depth) {
		this.depth = depth;
	}
	public int getPathCost() {
		return pathCost;
	}
	public void setPathCost(int pathCost) {
		this.pathCost = pathCost;
	}


	public void setHeuristicValue(int heuristicValue) {
		this.heuristicValue = heuristicValue;
	}


	public int getHeuristicValue() {
		return heuristicValue;
	}
	
	

}
